package models

import "time"

type TaskRecord struct {
	// 任务ID
	ID int `gorm:"column:id;PRIMARY_KEY;AUTO_INCREMENT" json:"id"`
	// 创建时间
	CreatedAt *time.Time `gorm:"column:created_at;type:timestamp" json:"created_at"`
	// 更新时间
	UpdatedAt *time.Time `gorm:"column:updated_at;type:timestamp" json:"updated_at"`
	TaskRecordCore
}

type TaskRecordCore struct {
	// 名称
	Name string `gorm:"column:name" json:"name"`
	// 种子品种
	Variant string `gorm:"column:variant" json:"variant"`
	// 发货数量
	Quantity string `gorm:"column:quantity" json:"quantity"`
	// 额外标签,存储多个种子品种和发货数量 '[{"key":"品种1","value":"20"},{"key":"品种2","value":"30"},{"key":"品种3","value":"60"}]'
	Labels string `gorm:"column:labels" json:"labels"`
	// 驾驶员
	DriverName string `gorm:"column:driver_name" json:"driver_name"`
	// 电话
	DriverPhone string `gorm:"column:driver_phone" json:"driver_phone"`
	// 任务日期 2006-01-02 日期
	TaskDate string `gorm:"column:task_date;type:date" json:"task_date"`
	// 任务状态:  0 未知，1 已发布，2 已执行'
	Status int `gorm:"column:status" json:"status" enums:"0,1,2" swaggertype:"integer"`
	// 客户备注
	Remark string `gorm:"column:remark" json:"remark"`
	// oss object地址
	OSSUrl string `gorm:"column:oss_url" json:"oss_url"`
	// oss 的完整地址
	AccessUrl string `gorm:"column:access_url" json:"access_url"`
}

type TaskRecordDelta struct {
	// 名称
	Name interface{} `gorm:"column:name" json:"name" swaggertype:"string"`
	// 种子品种
	Variant interface{} `gorm:"column:variant" json:"variant" swaggertype:"string"`
	// 发货数量
	Quantity interface{} `gorm:"column:quantity" json:"quantity" swaggertype:"string"`
	// 额外标签,存储多个种子品种和发货数量 [{"key":"品种1","value":"20"},{"key":"品种2","value":"30"},{"key":"品种3","value":"60"}]
	Labels interface{} `gorm:"column:labels" json:"labels" swaggertype:"string"`
	// 驾驶员
	DriverName interface{} `gorm:"column:driver_name" json:"driver_name" swaggertype:"string"`
	// 电话
	DriverPhone interface{} `gorm:"column:driver_phone" json:"driver_phone" swaggertype:"string"`
	// 任务日期 2006-01-02 日期
	TaskDate interface{} `gorm:"column:task_date;type:date" json:"task_date" swaggertype:"string"`
	// 任务状态:  0 未知，1 已发布，2 已执行'
	Status interface{} `gorm:"column:status" json:"status" enums:"0,1,2" swaggertype:"integer"`
	// 客户备注
	Remark interface{} `gorm:"column:remark" json:"remark" swaggertype:"string"`
	// oss 的object地址
	OSSUrl interface{} `gorm:"column:oss_url" json:"oss_url" swaggertype:"string"`
	// oss 的完整地址
	AccessUrl interface{} `gorm:"column:access_url" json:"access_url" swaggertype:"string"`
}

func (TaskRecord) TableName() string {
	return "task_record"
}
